package com.cyh.testdesignpattern.singleton;

/**
 * 双重检查（线程安全）
 * 优点：线程安全，效率较高，延迟加载
 * 结论：实际开发中 推荐 使用这种方式
 * */
public class Singleton05 {
    private static volatile Singleton05 instance;
    private void Singleton05(){
    }
    public static Singleton05 getInstance() {
        if(instance == null) {
            synchronized (Singleton05.class){
                if(instance == null) {
                    instance = new Singleton05();
                }
            }
        }
        return instance;
    }
}
